iT邦幫忙

2021 iThome 鐵人賽

DAY 12
2
AI & Data

Apache NiFi - 讓你輕鬆設計 Data Pipeline系列 第 12

Day12 NiFi - Reporting Task & Bulletin Board

  • 分享至 

  • xImage
  •  

今天來帶大家了解一下 NiFi 原生的 Monitoring 是怎麼運作的,像是 Disk, Memory 等,然後如何去做一個警示,這些都會在今天做一個簡單的介紹。

Reporting Task

Reporting Task 是 NiFi 在做一個 Monitoring 機制時很重要的 Componenet,這邊簡單列一下他的特性:

  1. 可監控與統計目前機器的狀態,ex. Disk 用量、Memory 用量等
  2. 可監控與統計資料處理與傳輸的狀態,ex. throughtput 等
  3. 對接第三方的監控服務,ex. DataDog, Prometheus, Ambari 等

從上述的特性,其實就是跟『監控機制』有所關聯,無論機器狀態或資料狀態,甚至要呈現相關 Metrics 的服務也可以有所自訂。

How to setting?

這邊就快速地帶大家知道如何去做設定,首先我們一樣先回到主畫面,點選 Global MenuController Settings:

接著點選 REPORTING TASKS,就可以加入對應的 Component:

這邊我們來加入最基本的 MonitoringDiskUsageMonitoringMemory 兩種 Reporting Task:

先來看一下 MonitoringDiskUsage 的設定:

我們可以看到有三種設定的方式:

  • Threshold: 就是 Disk 使用率達到多少比例時去做 alert
  • Directory Location: 使用者想監控的 Folder 位置,通常我們會去看 NiFi 所屬的 Folder 來做監控,你也可以從根目錄來做監控。
  • Directory Display Name: 當通知 Alerting 的時候所要呈現的 Folder Name,簡單來說幫助我們來辨識是那一個 Folder 底下的 Disk 用量達到 80%,會將這個資訊帶出來,如果沒有帶預設就是只呈現 Un-Named

接著來看一下 MonitoringMemory 的設定:

一樣有幾個設定方式:

  • Memory Pool: 因為主要是要控制 JVM 的記憶體用量,而在 JVM 中會有一些 Pool,我們可以從中做選擇,這邊提供類別介紹,請點選
  • Usage Threshold: 跟 MonitoringDiskUsage 一樣的設定,達到多少比例做 Alerting。
  • Reporting interval: Alerting 的時間區間,就是大概多就要 Alert。
    以上設定完之後,就可點選『播放鍵』符號來 Enable ,即可開始監控。

這邊就帶幾個基本常用的 Reporting Task,這時你可能會問,當我設定好且啟動了,假如真的有跳通知,我應該要去哪裡看呢?接下來就要待到下一個主角 - Bulletin Board

Bulletin Board

Bulletin Board 是 NiFi 原生的用來看一些 Alerting 的訊息,可以想像只要有任何 Alerting 的時候,他就會在這裡呈現相關資訊。我們一樣在 Global Menu 點選 Bulletin Board:

接著即可看到 Bulletin Board,沒有訊息時就會是這樣一片白:

但如果有 Alerting 跳出來時(ex. 某一個 Folder 的使用量大過我們設定的 Threshold),就可以看到相關資訊:

如此一來就能接受到我們在 NiFi 做設定好的監控,是不是很簡單?

額外延伸

你可能會想再問,這個訊息能否透過 Slack 或其他第三方服務來做通知呢?答案是可以的,只是我們就要透過 NiFi API 以及設計對應的 Pipeline 來做處理,這邊我會在後續獨立寫一篇場景應用來做介紹,可以敬請期待!

小總結

今天這篇其實看似沒什麼重點,但其實對於 Production 環境上,尤其有多個 Data Pipeline 來運行時,當中的監控就會顯得格外重要,所以這些簡單的設定都可以幫助未來我們在做使用時,可以快速找到問題且去做一個排查的動作。

明天,我會先來帶到 Variables 和 Parameters 的概念,這對於在 FlowFiles 的處理上是十分重要的運用,千萬要留意跟好好學習喔!

Reference


上一篇
Day11 NiFi & NiFi Registry
下一篇
Day13 NiFi - Variables & Parameters
系列文
Apache NiFi - 讓你輕鬆設計 Data Pipeline30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言